home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / HyperCard / Chiclette 1.04 / Chiclette 1.04 / background_8243.xml next >
Extensible Markup Language  |  1994-05-01  |  70KB  |  749 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE background PUBLIC "-//Apple, Inc.//DTD background V 2.0//EN" "" >
  3. <background>
  4.     <id>8243</id>
  5.     <filler1>0</filler1>
  6.     <bitmap>BMAP_8536.pbm</bitmap>
  7.     <cantDelete> <true /> </cantDelete>
  8.     <showPict> <true /> </showPict>
  9.     <dontSearch> <false /> </dontSearch>
  10.     <link rel="stylesheet" type="text/css" href="stylesheet_3276.css" />
  11.     <part>
  12.         <id>112</id>
  13.         <type>field</type>
  14.         <visible> <true /> </visible>
  15.         <dontWrap> <false /> </dontWrap>
  16.         <dontSearch> <false /> </dontSearch>
  17.         <sharedText> <true /> </sharedText>
  18.         <fixedLineHeight> <true /> </fixedLineHeight>
  19.         <autoTab> <false /> </autoTab>
  20.         <lockText> <true /> </lockText>
  21.         <rect>
  22.             <left>2</left>
  23.             <top>25</top>
  24.             <right>512</right>
  25.             <bottom>342</bottom>
  26.         </rect>
  27.         <style>transparent</style>
  28.         <autoSelect> <false /> </autoSelect>
  29.         <showLines> <false /> </showLines>
  30.         <wideMargins> <false /> </wideMargins>
  31.         <multipleLines> <false /> </multipleLines>
  32.         <reservedFamily> 0 </reservedFamily>
  33.         <titleWidth>0</titleWidth>
  34.         <icon>0</icon>
  35.         <textAlign>left</textAlign>
  36.         <font>Geneva</font>
  37.         <textSize>9</textSize>
  38.         <textStyle>plain</textStyle>
  39.         <textHeight>12</textHeight>
  40.         <name></name>
  41.         <script>on mouseuphypertextend mouseup</script>
  42.     </part>
  43.     <part>
  44.         <id>6</id>
  45.         <type>field</type>
  46.         <visible> <true /> </visible>
  47.         <dontWrap> <false /> </dontWrap>
  48.         <dontSearch> <false /> </dontSearch>
  49.         <sharedText> <false /> </sharedText>
  50.         <fixedLineHeight> <true /> </fixedLineHeight>
  51.         <autoTab> <false /> </autoTab>
  52.         <lockText> <false /> </lockText>
  53.         <rect>
  54.             <left>201</left>
  55.             <top>36</top>
  56.             <right>439</right>
  57.             <bottom>52</bottom>
  58.         </rect>
  59.         <style>transparent</style>
  60.         <autoSelect> <false /> </autoSelect>
  61.         <showLines> <true /> </showLines>
  62.         <wideMargins> <false /> </wideMargins>
  63.         <multipleLines> <false /> </multipleLines>
  64.         <reservedFamily> 0 </reservedFamily>
  65.         <titleWidth>0</titleWidth>
  66.         <icon>0</icon>
  67.         <textAlign>left</textAlign>
  68.         <font>Geneva</font>
  69.         <textSize>10</textSize>
  70.         <textStyle>bold</textStyle>
  71.         <textHeight>13</textHeight>
  72.         <name>Palette name</name>
  73.         <script>on returninfieldend returninfield</script>
  74.     </part>
  75.     <part>
  76.         <id>56</id>
  77.         <type>button</type>
  78.         <visible> <true /> </visible>
  79.         <reserved5> 0 </reserved5>
  80.         <reserved4> 0 </reserved4>
  81.         <reserved3> 0 </reserved3>
  82.         <reserved2> 0 </reserved2>
  83.         <reserved1> 0 </reserved1>
  84.         <enabled> <true /> </enabled>
  85.         <rect>
  86.             <left>478</left>
  87.             <top>25</top>
  88.             <right>504</right>
  89.             <bottom>50</bottom>
  90.         </rect>
  91.         <style>transparent</style>
  92.         <showName> <false /> </showName>
  93.         <highlight> <false /> </highlight>
  94.         <autoHighlight> <true /> </autoHighlight>
  95.         <sharedHighlight> <true /> </sharedHighlight>
  96.         <family>0</family>
  97.         <titleWidth>0</titleWidth>
  98.         <icon>18223</icon>
  99.         <textAlign>center</textAlign>
  100.         <font>Geneva</font>
  101.         <textSize>12</textSize>
  102.         <textStyle>plain</textStyle>
  103.         <name>help</name>
  104.         <script>on mouseuphelpend mouseup</script>
  105.     </part>
  106.     <part>
  107.         <id>94</id>
  108.         <type>field</type>
  109.         <visible> <true /> </visible>
  110.         <dontWrap> <false /> </dontWrap>
  111.         <dontSearch> <false /> </dontSearch>
  112.         <sharedText> <false /> </sharedText>
  113.         <fixedLineHeight> <true /> </fixedLineHeight>
  114.         <autoTab> <false /> </autoTab>
  115.         <lockText> <false /> </lockText>
  116.         <rect>
  117.             <left>288</left>
  118.             <top>61</top>
  119.             <right>350</right>
  120.             <bottom>75</bottom>
  121.         </rect>
  122.         <style>transparent</style>
  123.         <autoSelect> <false /> </autoSelect>
  124.         <showLines> <true /> </showLines>
  125.         <wideMargins> <false /> </wideMargins>
  126.         <multipleLines> <false /> </multipleLines>
  127.         <reservedFamily> 0 </reservedFamily>
  128.         <titleWidth>0</titleWidth>
  129.         <icon>0</icon>
  130.         <textAlign>left</textAlign>
  131.         <font>Geneva</font>
  132.         <textSize>9</textSize>
  133.         <textStyle>bold</textStyle>
  134.         <textHeight>12</textHeight>
  135.         <name>PictId</name>
  136.         <script></script>
  137.     </part>
  138.     <part>
  139.         <id>124</id>
  140.         <type>button</type>
  141.         <visible> <true /> </visible>
  142.         <reserved5> 0 </reserved5>
  143.         <reserved4> 0 </reserved4>
  144.         <reserved3> 0 </reserved3>
  145.         <reserved2> 0 </reserved2>
  146.         <reserved1> 0 </reserved1>
  147.         <enabled> <true /> </enabled>
  148.         <rect>
  149.             <left>449</left>
  150.             <top>27</top>
  151.             <right>476</right>
  152.             <bottom>51</bottom>
  153.         </rect>
  154.         <style>transparent</style>
  155.         <showName> <false /> </showName>
  156.         <highlight> <false /> </highlight>
  157.         <autoHighlight> <true /> </autoHighlight>
  158.         <sharedHighlight> <true /> </sharedHighlight>
  159.         <family>0</family>
  160.         <titleWidth>0</titleWidth>
  161.         <icon>19678</icon>
  162.         <textAlign>center</textAlign>
  163.         <font>Chicago</font>
  164.         <textSize>12</textSize>
  165.         <textStyle>plain</textStyle>
  166.         <name>about</name>
  167.         <script>on mouseUpaboutend mouseUp</script>
  168.     </part>
  169.     <part>
  170.         <id>127</id>
  171.         <type>button</type>
  172.         <visible> <true /> </visible>
  173.         <reserved5> 0 </reserved5>
  174.         <reserved4> 0 </reserved4>
  175.         <reserved3> 0 </reserved3>
  176.         <reserved2> 0 </reserved2>
  177.         <reserved1> 0 </reserved1>
  178.         <enabled> <true /> </enabled>
  179.         <rect>
  180.             <left>18</left>
  181.             <top>26</top>
  182.             <right>150</right>
  183.             <bottom>50</bottom>
  184.         </rect>
  185.         <style>rectangle</style>
  186.         <showName> <true /> </showName>
  187.         <highlight> <false /> </highlight>
  188.         <autoHighlight> <false /> </autoHighlight>
  189.         <sharedHighlight> <true /> </sharedHighlight>
  190.         <family>0</family>
  191.         <titleWidth>0</titleWidth>
  192.         <icon>0</icon>
  193.         <textAlign>center</textAlign>
  194.         <font>Geneva</font>
  195.         <textSize>9</textSize>
  196.         <textStyle>plain</textStyle>
  197.         <name>New Palette Card</name>
  198.         <script>on mouseUpdomenu "New Card"select after char 1 of fld "Palette Name"end mouseUp</script>
  199.     </part>
  200.     <part>
  201.         <id>135</id>
  202.         <type>field</type>
  203.         <visible> <true /> </visible>
  204.         <dontWrap> <false /> </dontWrap>
  205.         <dontSearch> <false /> </dontSearch>
  206.         <sharedText> <true /> </sharedText>
  207.         <fixedLineHeight> <true /> </fixedLineHeight>
  208.         <autoTab> <false /> </autoTab>
  209.         <lockText> <false /> </lockText>
  210.         <rect>
  211.             <left>6</left>
  212.             <top>207</top>
  213.             <right>137</right>
  214.             <bottom>231</bottom>
  215.         </rect>
  216.         <style>rectangle</style>
  217.         <autoSelect> <false /> </autoSelect>
  218.         <showLines> <false /> </showLines>
  219.         <wideMargins> <false /> </wideMargins>
  220.         <multipleLines> <false /> </multipleLines>
  221.         <reservedFamily> 0 </reservedFamily>
  222.         <titleWidth>0</titleWidth>
  223.         <icon>0</icon>
  224.         <textAlign>center</textAlign>
  225.         <font>Geneva</font>
  226.         <textSize>9</textSize>
  227.         <textStyle>plain</textStyle>
  228.         <textHeight>12</textHeight>
  229.         <name>save def</name>
  230.         <script>on mouseUpset cursor to busyput line 1 of fld "palette name" into windNamecheckOpenedPalette windNamesavedef windNameend mouseUp</script>
  231.     </part>
  232.     <part>
  233.         <id>136</id>
  234.         <type>field</type>
  235.         <visible> <true /> </visible>
  236.         <dontWrap> <false /> </dontWrap>
  237.         <dontSearch> <false /> </dontSearch>
  238.         <sharedText> <true /> </sharedText>
  239.         <fixedLineHeight> <true /> </fixedLineHeight>
  240.         <autoTab> <false /> </autoTab>
  241.         <lockText> <false /> </lockText>
  242.         <rect>
  243.             <left>141</left>
  244.             <top>207</top>
  245.             <right>273</right>
  246.             <bottom>231</bottom>
  247.         </rect>
  248.         <style>rectangle</style>
  249.         <autoSelect> <false /> </autoSelect>
  250.         <showLines> <false /> </showLines>
  251.         <wideMargins> <false /> </wideMargins>
  252.         <multipleLines> <false /> </multipleLines>
  253.         <reservedFamily> 0 </reservedFamily>
  254.         <titleWidth>0</titleWidth>
  255.         <icon>0</icon>
  256.         <textAlign>center</textAlign>
  257.         <font>Geneva</font>
  258.         <textSize>9</textSize>
  259.         <textStyle>plain</textStyle>
  260.         <textHeight>12</textHeight>
  261.         <name>make btn</name>
  262.         <script>on mouseUpset cursor to watchput line 1 of fld "palette name" into windNameCheckOpenedPalette windNameput PalToDef(windName) into WinDefsaveInBtn windName,WinDefend mouseUp</script>
  263.     </part>
  264.     <part>
  265.         <id>137</id>
  266.         <type>field</type>
  267.         <visible> <true /> </visible>
  268.         <dontWrap> <false /> </dontWrap>
  269.         <dontSearch> <false /> </dontSearch>
  270.         <sharedText> <true /> </sharedText>
  271.         <fixedLineHeight> <true /> </fixedLineHeight>
  272.         <autoTab> <false /> </autoTab>
  273.         <lockText> <false /> </lockText>
  274.         <rect>
  275.             <left>6</left>
  276.             <top>255</top>
  277.             <right>137</right>
  278.             <bottom>279</bottom>
  279.         </rect>
  280.         <style>rectangle</style>
  281.         <autoSelect> <false /> </autoSelect>
  282.         <showLines> <false /> </showLines>
  283.         <wideMargins> <false /> </wideMargins>
  284.         <multipleLines> <false /> </multipleLines>
  285.         <reservedFamily> 0 </reservedFamily>
  286.         <titleWidth>0</titleWidth>
  287.         <icon>0</icon>
  288.         <textAlign>center</textAlign>
  289.         <font>Geneva</font>
  290.         <textSize>9</textSize>
  291.         <textStyle>plain</textStyle>
  292.         <textHeight>20</textHeight>
  293.         <name>show def</name>
  294.         <script>on mouseUpshowSavedDefend mouseUp</script>
  295.     </part>
  296.     <part>
  297.         <id>139</id>
  298.         <type>field</type>
  299.         <visible> <true /> </visible>
  300.         <dontWrap> <false /> </dontWrap>
  301.         <dontSearch> <false /> </dontSearch>
  302.         <sharedText> <true /> </sharedText>
  303.         <fixedLineHeight> <true /> </fixedLineHeight>
  304.         <autoTab> <false /> </autoTab>
  305.         <lockText> <false /> </lockText>
  306.         <rect>
  307.             <left>77</left>
  308.             <top>85</top>
  309.             <right>208</right>
  310.             <bottom>111</bottom>
  311.         </rect>
  312.         <style>rectangle</style>
  313.         <autoSelect> <false /> </autoSelect>
  314.         <showLines> <false /> </showLines>
  315.         <wideMargins> <false /> </wideMargins>
  316.         <multipleLines> <false /> </multipleLines>
  317.         <reservedFamily> 0 </reservedFamily>
  318.         <titleWidth>0</titleWidth>
  319.         <icon>0</icon>
  320.         <textAlign>center</textAlign>
  321.         <font>Geneva</font>
  322.         <textSize>9</textSize>
  323.         <textStyle>plain</textStyle>
  324.         <textHeight>12</textHeight>
  325.         <name>show pal123</name>
  326.         <script>on mouseUplock screencheckForNameset cursor to busyput CardToDef() into windefChiclette WinDefget the resultif it ‚↠"" then answer itend mouseUp</script>
  327.     </part>
  328.     <part>
  329.         <id>143</id>
  330.         <type>field</type>
  331.         <visible> <true /> </visible>
  332.         <dontWrap> <false /> </dontWrap>
  333.         <dontSearch> <false /> </dontSearch>
  334.         <sharedText> <true /> </sharedText>
  335.         <fixedLineHeight> <true /> </fixedLineHeight>
  336.         <autoTab> <false /> </autoTab>
  337.         <lockText> <false /> </lockText>
  338.         <rect>
  339.             <left>141</left>
  340.             <top>255</top>
  341.             <right>273</right>
  342.             <bottom>279</bottom>
  343.         </rect>
  344.         <style>rectangle</style>
  345.         <autoSelect> <false /> </autoSelect>
  346.         <showLines> <false /> </showLines>
  347.         <wideMargins> <false /> </wideMargins>
  348.         <multipleLines> <false /> </multipleLines>
  349.         <reservedFamily> 0 </reservedFamily>
  350.         <titleWidth>0</titleWidth>
  351.         <icon>0</icon>
  352.         <textAlign>center</textAlign>
  353.         <font>Geneva</font>
  354.         <textSize>9</textSize>
  355.         <textStyle>plain</textStyle>
  356.         <textHeight>20</textHeight>
  357.         <name>show pal</name>
  358.         <script>on mouseUpshowSavedChicend mouseUp</script>
  359.     </part>
  360.     <part>
  361.         <id>146</id>
  362.         <type>button</type>
  363.         <visible> <true /> </visible>
  364.         <reserved5> 0 </reserved5>
  365.         <reserved4> 0 </reserved4>
  366.         <reserved3> 0 </reserved3>
  367.         <reserved2> 0 </reserved2>
  368.         <reserved1> 0 </reserved1>
  369.         <enabled> <true /> </enabled>
  370.         <rect>
  371.             <left>185</left>
  372.             <top>150</top>
  373.             <right>260</right>
  374.             <bottom>168</bottom>
  375.         </rect>
  376.         <style>checkbox</style>
  377.         <showName> <true /> </showName>
  378.         <highlight> <false /> </highlight>
  379.         <autoHighlight> <true /> </autoHighlight>
  380.         <sharedHighlight> <true /> </sharedHighlight>
  381.         <family>0</family>
  382.         <titleWidth>0</titleWidth>
  383.         <icon>0</icon>
  384.         <textAlign>center</textAlign>
  385.         <font>Geneva</font>
  386.         <textSize>9</textSize>
  387.         <textStyle>plain</textStyle>
  388.         <name>Self Editing</name>
  389.         <script></script>
  390.     </part>
  391.     <part>
  392.         <id>147</id>
  393.         <type>button</type>
  394.         <visible> <true /> </visible>
  395.         <reserved5> 0 </reserved5>
  396.         <reserved4> 0 </reserved4>
  397.         <reserved3> 0 </reserved3>
  398.         <reserved2> 0 </reserved2>
  399.         <reserved1> 0 </reserved1>
  400.         <enabled> <true /> </enabled>
  401.         <rect>
  402.             <left>3</left>
  403.             <top>171</top>
  404.             <right>87</right>
  405.             <bottom>184</bottom>
  406.         </rect>
  407.         <style>checkbox</style>
  408.         <showName> <false /> </showName>
  409.         <highlight> <true /> </highlight>
  410.         <autoHighlight> <true /> </autoHighlight>
  411.         <sharedHighlight> <true /> </sharedHighlight>
  412.         <family>0</family>
  413.         <titleWidth>0</titleWidth>
  414.         <icon>0</icon>
  415.         <textAlign>center</textAlign>
  416.         <font>Geneva</font>
  417.         <textSize>9</textSize>
  418.         <textStyle>plain</textStyle>
  419.         <name>Put messages</name>
  420.         <script></script>
  421.     </part>
  422.     <part>
  423.         <id>150</id>
  424.         <type>button</type>
  425.         <visible> <true /> </visible>
  426.         <reserved5> 0 </reserved5>
  427.         <reserved4> 0 </reserved4>
  428.         <reserved3> 0 </reserved3>
  429.         <reserved2> 0 </reserved2>
  430.         <reserved1> 0 </reserved1>
  431.         <enabled> <true /> </enabled>
  432.         <rect>
  433.             <left>6</left>
  434.             <top>147</top>
  435.             <right>137</right>
  436.             <bottom>170</bottom>
  437.         </rect>
  438.         <style>rectangle</style>
  439.         <showName> <true /> </showName>
  440.         <highlight> <false /> </highlight>
  441.         <autoHighlight> <false /> </autoHighlight>
  442.         <sharedHighlight> <true /> </sharedHighlight>
  443.         <family>0</family>
  444.         <titleWidth>0</titleWidth>
  445.         <icon>0</icon>
  446.         <textAlign>center</textAlign>
  447.         <font>Geneva</font>
  448.         <textSize>9</textSize>
  449.         <textStyle>plain</textStyle>
  450.         <name>Chiclette Editor</name>
  451.         <script>on mouseUpset cursor to watchput line 1 of fld "palette name" into EditedPalif EditedPal ‚↠"Chiclette Editor" then checkOpenedPalette EditedPalChicEdit EditedPalend mouseup</script>
  452.     </part>
  453.     <part>
  454.         <id>157</id>
  455.         <type>button</type>
  456.         <visible> <true /> </visible>
  457.         <reserved5> 0 </reserved5>
  458.         <reserved4> 0 </reserved4>
  459.         <reserved3> 0 </reserved3>
  460.         <reserved2> 0 </reserved2>
  461.         <reserved1> 0 </reserved1>
  462.         <enabled> <true /> </enabled>
  463.         <rect>
  464.             <left>306</left>
  465.             <top>158</top>
  466.             <right>426</right>
  467.             <bottom>273</bottom>
  468.         </rect>
  469.         <style>rectangle</style>
  470.         <showName> <false /> </showName>
  471.         <highlight> <false /> </highlight>
  472.         <autoHighlight> <false /> </autoHighlight>
  473.         <sharedHighlight> <true /> </sharedHighlight>
  474.         <family>0</family>
  475.         <titleWidth>0</titleWidth>
  476.         <icon>0</icon>
  477.         <textAlign>center</textAlign>
  478.         <font>Chicago</font>
  479.         <textSize>12</textSize>
  480.         <textStyle>plain</textStyle>
  481.         <name>Border Unit</name>
  482.         <script>on mouseDownset cursor to arrowhide bg btn "grow"put (the clickH - item 1 of the loc of me) into horzOffsetput (the clickV - item 2 of the loc of me) into vertOffsetrepeat until the mouse is upshow me at (the mouseH - horzOffset),(the mouseV - vertOffset)end repeatset topLeft of bg btn "grow" to bottomRight of meshow bg btn "grow"exit to hyperCard -- to kill the mouseUpend mouseDown</script>
  483.     </part>
  484.     <part>
  485.         <id>158</id>
  486.         <type>button</type>
  487.         <visible> <true /> </visible>
  488.         <reserved5> 0 </reserved5>
  489.         <reserved4> 0 </reserved4>
  490.         <reserved3> 0 </reserved3>
  491.         <reserved2> 0 </reserved2>
  492.         <reserved1> 0 </reserved1>
  493.         <enabled> <true /> </enabled>
  494.         <rect>
  495.             <left>424</left>
  496.             <top>271</top>
  497.             <right>439</right>
  498.             <bottom>286</bottom>
  499.         </rect>
  500.         <style>transparent</style>
  501.         <showName> <false /> </showName>
  502.         <highlight> <false /> </highlight>
  503.         <autoHighlight> <true /> </autoHighlight>
  504.         <sharedHighlight> <true /> </sharedHighlight>
  505.         <family>0</family>
  506.         <titleWidth>0</titleWidth>
  507.         <icon>15467</icon>
  508.         <textAlign>center</textAlign>
  509.         <font>Chicago</font>
  510.         <textSize>12</textSize>
  511.         <textStyle>plain</textStyle>
  512.         <name>grow</name>
  513.         <script>on mouseDown-- stretch the border seed button from the bottom rightset cursor to arrowput "Border Unit" into btnNameset hilite of me to trueput left of bg btn btnName into btnLeftput top of bg btn btnName into btnTopput right of bg btn btnName into btnRightput bottom of bg btn btnName into btnBottomrepeat until the mouse is upput max(btnLeft + 20,the mouseH) into btnRight -- pin at 20x20put min(btnRight,(right of this card - width of me)) into btnRightput max(btnTop + 20,the mouseV) into btnBottomput min(btnBottom,(bottom of this card - height of me)) into btnBottomset topLeft of me to btnRight - 2,btnBottom - 2set rect of bg btn btnName to btnLeft,btnTop,btnRight,btnBottomend repeatset hilite of me to falseexit to hyperCardend mouseDown</script>
  514.     </part>
  515.     <part>
  516.         <id>145</id>
  517.         <type>field</type>
  518.         <visible> <false /> </visible>
  519.         <dontWrap> <false /> </dontWrap>
  520.         <dontSearch> <false /> </dontSearch>
  521.         <sharedText> <false /> </sharedText>
  522.         <fixedLineHeight> <false /> </fixedLineHeight>
  523.         <autoTab> <false /> </autoTab>
  524.         <lockText> <false /> </lockText>
  525.         <rect>
  526.             <left>3</left>
  527.             <top>54</top>
  528.             <right>905</right>
  529.             <bottom>342</bottom>
  530.         </rect>
  531.         <style>scrolling</style>
  532.         <autoSelect> <false /> </autoSelect>
  533.         <showLines> <false /> </showLines>
  534.         <wideMargins> <false /> </wideMargins>
  535.         <multipleLines> <false /> </multipleLines>
  536.         <reservedFamily> 0 </reservedFamily>
  537.         <titleWidth>0</titleWidth>
  538.         <icon>0</icon>
  539.         <textAlign>left</textAlign>
  540.         <font>Geneva</font>
  541.         <textSize>9</textSize>
  542.         <textStyle>plain</textStyle>
  543.         <textHeight>12</textHeight>
  544.         <name>definition</name>
  545.         <script></script>
  546.     </part>
  547.     <part>
  548.         <id>160</id>
  549.         <type>field</type>
  550.         <visible> <false /> </visible>
  551.         <dontWrap> <false /> </dontWrap>
  552.         <dontSearch> <false /> </dontSearch>
  553.         <sharedText> <false /> </sharedText>
  554.         <fixedLineHeight> <true /> </fixedLineHeight>
  555.         <autoTab> <false /> </autoTab>
  556.         <lockText> <false /> </lockText>
  557.         <rect>
  558.             <left>161</left>
  559.             <top>113</top>
  560.             <right>269</right>
  561.             <bottom>130</bottom>
  562.         </rect>
  563.         <style>transparent</style>
  564.         <autoSelect> <false /> </autoSelect>
  565.         <showLines> <true /> </showLines>
  566.         <wideMargins> <false /> </wideMargins>
  567.         <multipleLines> <false /> </multipleLines>
  568.         <reservedFamily> 0 </reservedFamily>
  569.         <titleWidth>0</titleWidth>
  570.         <icon>0</icon>
  571.         <textAlign>left</textAlign>
  572.         <font>Geneva</font>
  573.         <textSize>9</textSize>
  574.         <textStyle>bold</textStyle>
  575.         <textHeight>12</textHeight>
  576.         <name>area</name>
  577.         <script></script>
  578.     </part>
  579.     <part>
  580.         <id>166</id>
  581.         <type>field</type>
  582.         <visible> <false /> </visible>
  583.         <dontWrap> <false /> </dontWrap>
  584.         <dontSearch> <false /> </dontSearch>
  585.         <sharedText> <false /> </sharedText>
  586.         <fixedLineHeight> <false /> </fixedLineHeight>
  587.         <autoTab> <false /> </autoTab>
  588.         <lockText> <true /> </lockText>
  589.         <rect>
  590.             <left>5</left>
  591.             <top>24</top>
  592.             <right>506</right>
  593.             <bottom>52</bottom>
  594.         </rect>
  595.         <style>rectangle</style>
  596.         <autoSelect> <false /> </autoSelect>
  597.         <showLines> <false /> </showLines>
  598.         <wideMargins> <false /> </wideMargins>
  599.         <multipleLines> <false /> </multipleLines>
  600.         <reservedFamily> 0 </reservedFamily>
  601.         <titleWidth>0</titleWidth>
  602.         <icon>0</icon>
  603.         <textAlign>center</textAlign>
  604.         <font>Palatino</font>
  605.         <textSize>24</textSize>
  606.         <textStyle>bold</textStyle>
  607.         <textHeight>32</textHeight>
  608.         <name>whatInfo</name>
  609.         <script></script>
  610.     </part>
  611.     <part>
  612.         <id>165</id>
  613.         <type>field</type>
  614.         <visible> <false /> </visible>
  615.         <dontWrap> <false /> </dontWrap>
  616.         <dontSearch> <false /> </dontSearch>
  617.         <sharedText> <true /> </sharedText>
  618.         <fixedLineHeight> <false /> </fixedLineHeight>
  619.         <autoTab> <false /> </autoTab>
  620.         <lockText> <false /> </lockText>
  621.         <rect>
  622.             <left>3</left>
  623.             <top>53</top>
  624.             <right>508</right>
  625.             <bottom>342</bottom>
  626.         </rect>
  627.         <style>scrolling</style>
  628.         <autoSelect> <false /> </autoSelect>
  629.         <showLines> <false /> </showLines>
  630.         <wideMargins> <false /> </wideMargins>
  631.         <multipleLines> <false /> </multipleLines>
  632.         <reservedFamily> 0 </reservedFamily>
  633.         <titleWidth>0</titleWidth>
  634.         <icon>0</icon>
  635.         <textAlign>left</textAlign>
  636.         <font>Geneva</font>
  637.         <textSize>12</textSize>
  638.         <textStyle>plain</textStyle>
  639.         <textHeight>16</textHeight>
  640.         <name>about</name>
  641.         <script></script>
  642.     </part>
  643.     <part>
  644.         <id>167</id>
  645.         <type>field</type>
  646.         <visible> <false /> </visible>
  647.         <dontWrap> <false /> </dontWrap>
  648.         <dontSearch> <false /> </dontSearch>
  649.         <sharedText> <true /> </sharedText>
  650.         <fixedLineHeight> <false /> </fixedLineHeight>
  651.         <autoTab> <false /> </autoTab>
  652.         <lockText> <false /> </lockText>
  653.         <rect>
  654.             <left>3</left>
  655.             <top>53</top>
  656.             <right>507</right>
  657.             <bottom>342</bottom>
  658.         </rect>
  659.         <style>scrolling</style>
  660.         <autoSelect> <false /> </autoSelect>
  661.         <showLines> <false /> </showLines>
  662.         <wideMargins> <true /> </wideMargins>
  663.         <multipleLines> <false /> </multipleLines>
  664.         <reservedFamily> 0 </reservedFamily>
  665.         <titleWidth>0</titleWidth>
  666.         <icon>0</icon>
  667.         <textAlign>left</textAlign>
  668.         <font>Geneva</font>
  669.         <textSize>10</textSize>
  670.         <textStyle>plain</textStyle>
  671.         <textHeight>13</textHeight>
  672.         <name>Help</name>
  673.         <script>on mouseUphypertextend mouseup</script>
  674.     </part>
  675.     <part>
  676.         <id>168</id>
  677.         <type>button</type>
  678.         <visible> <false /> </visible>
  679.         <reserved5> 0 </reserved5>
  680.         <reserved4> 0 </reserved4>
  681.         <reserved3> 0 </reserved3>
  682.         <reserved2> 0 </reserved2>
  683.         <reserved1> 0 </reserved1>
  684.         <enabled> <true /> </enabled>
  685.         <rect>
  686.             <left>8</left>
  687.             <top>28</top>
  688.             <right>28</right>
  689.             <bottom>48</bottom>
  690.         </rect>
  691.         <style>transparent</style>
  692.         <showName> <false /> </showName>
  693.         <highlight> <false /> </highlight>
  694.         <autoHighlight> <false /> </autoHighlight>
  695.         <sharedHighlight> <true /> </sharedHighlight>
  696.         <family>0</family>
  697.         <titleWidth>0</titleWidth>
  698.         <icon>3071</icon>
  699.         <textAlign>center</textAlign>
  700.         <font>Geneva</font>
  701.         <textSize>9</textSize>
  702.         <textStyle>plain</textStyle>
  703.         <name>Hide fld</name>
  704.         <script>on mouseUplock screenset cursor to watchhide fld "definition"hide fld "about"hide fld "help"hide fld "whatinfo"hide merepeat with i = 1 to number of cd btnsshow cd btn iend repeatshow cd pictureif there is a window "ChicBrowser" then setChicBrowserend mouseUp</script>
  705.     </part>
  706.     <content>
  707.         <layer>background</layer>
  708.         <id>112</id>
  709.         <text><span class="style40">.         .                          2.¬†</span><span class="style21">Enter Palette Name :</span><span class="style73"><a href="#" class="group">3.</a></span><span class="style40"> </span><span class="style21">Arrange artwork (or enter here the Id of a PICT resource :                      ), and create HyperCard buttons,                                                                                             then size the enclosing rectangle to indicate area.</span><span class="style73"><a href="#" class="group">4.</a></span><span class="style21">                                                              </span><span class="style40"></span><span class="style73"><a href="#" class="group">5</a></span><span class="style66"><a href="#" class="group">.</a></span><span class="style21">¬†Change the properties of the palette and its buttons.Either use the </span><span class="style66"><a href="#" class="group">Chiclette Editor</a></span><span class="style21">, or select "</span><span class="style66"><a href="#" class="group">Self Editing</a></span><span class="style21">" :     Check this box to </span><span class="style66"><a href="#" class="group">learn how to script these actions.</a></span><span class="style21"></span><span class="style73"><a href="#" class="group">6.¬†</a></span><span class="style66"><a href="#" class="group">Save your work</a></span><span class="style21"> :</span><span class="style73"><a href="#" class="group">7.</a></span><span class="style66"><a href="#" class="group">¬†Have a look at your work</a></span><span class="style21"> :</span><span class="style73"><a href="#" class="group">8.</a></span><span class="style66"><a href="#" class="group">¬†Make your palette do something</a></span><span class="style21"> : if you haven't set the MDmess, MSDmess, and/or MUmess properties of its buttons, then intercept the MD, MSD and/or MU messages.</span><span class="style40">             Click </span><span class="style73"><a href="#" class="group">active text</a></span><span class="style40"> to get help.</span></text>
  710.     </content>
  711.     <content>
  712.         <layer>background</layer>
  713.         <id>135</id>
  714.         <text>Save the definitionof the current palette</text>
  715.     </content>
  716.     <content>
  717.         <layer>background</layer>
  718.         <id>136</id>
  719.         <text>Create a new button that open the current palette</text>
  720.     </content>
  721.     <content>
  722.         <layer>background</layer>
  723.         <id>137</id>
  724.         <text>Show the saved definition</text>
  725.     </content>
  726.     <content>
  727.         <layer>background</layer>
  728.         <id>139</id>
  729.         <text>Open the palette as defined in steps 2-3</text>
  730.     </content>
  731.     <content>
  732.         <layer>background</layer>
  733.         <id>143</id>
  734.         <text>Open the palette you saved</text>
  735.     </content>
  736.     <content>
  737.         <layer>background</layer>
  738.         <id>165</id>
  739.         <text><span class="style21">                            </span><span class="style75">Chiclette, the chic palettes. v 1.0</span><span class="style21">This stack comes up to you from </span><span class="style40">hyperSOLutions</span><span class="style21">.The external command "Chiclette" has been written by Jean-Marc Astesana.The use of this stack and of the XCmd Chiclette (release 1.0) is free in any non-commercial product.</span><span class="style40">All rights are reserved. ¬©1991 hyperSOLutions.</span><span class="style21"></span><span class="style74">hyperSOLutions170, rue de Lourmel75015 PARISFRANCEPhone¬†:¬†(33)¬†(1)¬†40¬†59¬†98¬†86Fax¬†:¬†¬†¬†(33)¬†(1)¬†45¬†78¬†64¬†58AppleLink : HYPERSOL</span><span class="style76">NOTE : we are using in this stack a XFcn called ClipToPict by Kevin CALHOUN, Dartmouth College. We found it in the freeware and shareware collection "Fredos'stack". As there is no special mention about this XFcn, we assumed it is freeware and we may use it here. If not, we apologize and we would be happy to get a contact with the author.</span></text>
  740.     </content>
  741.     <content>
  742.         <layer>background</layer>
  743.         <id>167</id>
  744.         <text><span class="style21">¬†-¬†Please print out this field (background field "Help"), and use it as a reference.¬†¬†-¬†Click in the close box to hide this help.¬†¬†-¬†Click active text¬†("group" style : text with a thick gray underline) to jump to information located somewhere in this help.¬†¬†</span><span class="style67">Content of this help :</span><span class="style21">¬†¬†(Click a topic to go to it)¬†¬†-¬†</span><span class="style66"><a href="#" class="group">Basics</a></span><span class="style21"> ¬†¬†-¬†</span><span class="style66"><a href="#" class="group">How to define a chic palette : the chiclette maker</a></span><span class="style21"> ¬†¬†-¬†</span><span class="style66"><a href="#" class="group">Reference</a></span><span class="style21">¬†¬†-¬†</span><span class="style66"><a href="#" class="group">Tips</a></span><span class="style21"></span><span class="style67">Basics¬†</span><span class="style21">¬†¬†</span><span class="style40">Chiclette is an external command that allows you to display and manage floating palettes containing buttons.</span><span class="style21">¬†¬† ¬†¬†It is a little bit more powerful than HyperCard's palette XCmd and the palette maker that comes with the HyperCard Developer Kit in the "Power Tools" stack¬†:¬†¬†- it doesn't need any special resource beside the XCmd "Chiclette" itself,¬†¬†- it is possible (and easy) to dynamically change the look and behaviour of the palettes by setting their properties and the properties of their buttons, ¬†¬†- the buttons they contain respond to mouseDown, mouseStillDown and mouseUp events. ¬†¬†This allow you, for instance, to have popup menus in a floating palette, using one of the numerous XFcns which have to be called in a "on mouseDown" handler.  (One such XFcn, called JMHPopUp, is available in this stack.)¬†¬†¬†¬†</span><span class="style40">To display a floating palette on screen, you just have to call the XCmd Chiclette with an unique parameter, which is the definition of the palette.</span><span class="style21">¬†¬†</span><span class="style40">This stack intends to help you define your palettes, and learn how to dynamically change their look.</span><span class="style21">¬†¬†</span><span class="style67">How to define a chic palette : the chiclette maker</span><span class="style72">¬†</span><span class="style67"></span><span class="style21">¬†¬†The numbers on the steps below correspond to the numbers which appear on the card.¬†¬†</span><span class="style40">1.¬†New palette card</span><span class="style21">¬†¬†First click this button to create a new palette card.¬†¬†</span><span class="style40">2.¬†Enter palette name</span><span class="style21">¬†¬†Type the name of your palette in the space provided.¬†¬†</span><span class="style40">3.¬†Arrange artwork and buttons</span><span class="style21">¬†¬†A chic palette contains bit-map art and buttons. ¬†¬†It is time to define the look that will have your palette. You do this in HyperCard, putting artwork and buttons in a area you define with a resizable rectangle.¬†¬†You can use a PICT resource as artwork for your palette by providing its Id in the space dedicated to that purpose.¬†¬†You can also create artwork for your palette using HyperCard's built-in paint tools or paste in bit-map art  from elsewhere using the clipboard or scrapbook. In this case, a PICT resource will be created when you will create the palette (step 4) and its Id will be put in the space mentioned above.¬†¬†(</span><span class="style70">NOTE</span><span class="style21"> : we are using here a XFcn called ClipToPict by Kevin CALHOUN, Dartmouth College. We found it in the freeware and shareware collection "Fredos'stack". As there is no special mention about this XFcn, we assumed it is freeware and we may use it here. If not, we apologize and we would be happy to get a contact with the author.)¬†¬†Don't feel compelled to limit your palette artwork to space provided in the right part of the card, since only the card layer artwork will be used. Also you may resize the stack to give you more palette workspace. ¬†¬†Place card buttons over your artwork to be incorporated into your palette. Though the palette's buttons will have all the properties of the buttons you define here, (except their scripts), don't worry too much about these properties since you will get an easier way to set them directly once the palette opened. Just choose their rectangle, icon, eventually style at this step, it will be enough. Leave their script empty, as it will be ignored.¬†¬†¬†¬†</span><span class="style70">NOTE</span><span class="style21"> : when you'll later want to refer to a button of the palette, you'll do it by a number between 1 and the number of buttons of the palette. They will be in the same order in the palette as they are in the card. (If all the card buttons are enclosed in the rectangle area, the palettes buttons will have the same number as the corresponding card buttons)¬†¬†</span><span class="style40">4.¬†Click the "Open the palette as defined in steps 2-3" button.</span><span class="style21">¬†¬†The palette will appear above your artwork.¬†¬†</span><span class="style40">5.¬†Change the properties of the palette and its buttons.</span><span class="style21">¬†¬†At this stage, many default values are used in the palette. you can now change them, and define more precisely want you want your palette to be, setting its properties and the properties of its buttons.¬†¬†You can do that in two ways¬†:¬†¬†-¬†The </span><span class="style40">Chiclette Editor</span><span class="style21">¬†is a (chic) palette that allows you to edit (chic) palettes. ¬†¬†Click the "Chiclette Editor" button. The "Chiclette Editor" palette will appear, unless you didn't open yet the palette you are building (step 4)¬†¬†The upper rectangle contains the name of the palette you are editing.¬†¬†The second rectangle invites you to set the properties of the palette. It is a hierarchical pulldown menu that enables you to set the window properties of the palette.¬†¬†To set the properties of a button, you must first choose the button you want to edit. Use the up and/or down arrows of the palette to do that. (Remember that a button of a palette is defined by its number). The button number 1 is preselected. The number of the button to edit appears in the box on the left side of the arrows, while its name appears in the box at their right. The last rectangle invites you to set the properties of the button you chose to edit. It is a pulldown menu too.¬†¬†¬†¬†The Chiclette Editor allows to edit the palette corresponding to the current card. If you go to another card of this stack and if the corresponding palette is opened, then this palette will become the edited palette. If it is not opened, the name of the edited palette in the Chiclette Editor will be blank, and all of Chiclette Editor's  buttons will be disabled (and grayed out). Just open the palette defined in the current card and the Chiclette Editor will be active again, and the palette ready to be edited.¬†¬†¬†¬†</span><span class="style70">NOTE</span><span class="style21"> : the Chiclette Editor can be used in others stacks too. The stack "Chiclette" must be in use (use the command¬†: start using stack "Chiclette" to have it in use). In this case, it allows you to edit any opened chic palette. (The rectangle containing the name of the edited palette is a button. If you are running HyperCard 2.1, you are invited to hold down on it to choose the name of the palette you want to edit among the list of all opened chic palettes. This feature was not possible to realize with HC 2.0 (the owner property of a window is a new feature of HyperCard 2.1). That's why you are invited in HC 2.0 to click and type the name of the window you want to edit. The only control made is that there is a window with this name.)¬†¬†You can call the chiclette editor directly by typing the command¬†: "ChicEdit".¬†¬†¬†¬†- </span><span class="style40">Self Editing</span><span class="style21">¬†¬†¬†If you have checked the "Self Editing" check box, and you hold down on a button of the palette defined in the current card, the pulldown menu that allows you to set the properties of this button will appear. If you hold down in the palette but outside the buttons, the pulldown menu that allows to set the window properties will appear.¬†¬†</span><span class="style70">NOTE</span><span class="style21"> : this will work unless you set the visible property of the button to false, or its disable property to true, or its MDmess property to something else than empty. In any of these three cases, you will have to use the "Palette Editor" if you want to change one of the properties of the button.¬†¬†¬†¬†-¬†Check the option inviting you to </span><span class="style40">learn how to script these actions</span><span class="style21">.¬†¬†¬†The messages sent to the edited palette when setting its properties and the properties of its buttons will then be put in the message box. It is a good way to learn the syntax to set the properties of a palette.¬†¬†</span><span class="style40">6.¬†Save your work¬†</span><span class="style21">¬†¬†Click the "Save definition of the current palette" button to save the definition of the current palette. This definition will be put in a background field named "definition".¬†¬†To open a palette saved in this way, you just have to execute the command :¬†¬†     Chiclette background field "definition"¬†¬†(That is what the "Open the palette you saved" button of the box number 7 does)¬†¬†¬†¬†You can also click the "Create a button that opens the current palette" button.¬†¬†This is a way to save your palette in a script-only way. You can then copy this script and install it where you want.¬†¬†</span><span class="style40">7.¬†Have a look at your work¬†</span><span class="style21">¬†¬†Use the two buttons here to look at the definition of your palette and to open it.¬†¬†</span><span class="style40">8.¬†Make your palette do something¬†</span><span class="style21">¬†¬†When you click on an object of the palette (whose disable property is false), the palette sends several messages to the current card.¬†¬†If you have set the MDmess, MSDmess and/or MUmess properties of the buttons of the palette, the messages sent are the value of theses properties :¬†¬†-¬†the MDmess value is sent on mouseDown,¬†¬†-¬†the MSDmess value is sent on mouseStillDown,¬†¬†-¬†the MUmess value is sent on mouseUp.¬†¬†If you haven't set these properties, the messages sent by the palette to the current card are :¬†¬†-¬†MD windName,buttonName,buttonNumber¬†¬†MD is the same thing as the mouseDown in HyperCard)¬†¬†-¬†MSD windName,buttonName,buttonNumber¬†¬†MSD is the same thing as the mouseDown in HyperCard¬†¬†-¬†MU windName,buttonName,buttonNumber¬†¬†(windName is the name of the palette, buttonName is the name of the button, buttonNumber is the number of the button.)¬†¬†If you want the button do something when these events occur, just intercept them somewhere. If you don't want your button do anything on, let us say, mouseStillDown, just don't intercept the MSD message.¬†¬†</span><span class="style67">Reference</span><span class="style72">¬†</span><span class="style21">¬†¬†To create a chic palette :¬†¬†</span><span class="style40">Chiclette <Palette definition></span><span class="style21">¬†¬†¬†¬†As usual with external windows, you can :¬†¬†- modify the palette using the command :¬†¬†</span><span class="style40">Set <PropertyName> of window <PaletteName> to <value></span><span class="style21">¬†¬†- know a property of the palette :¬†¬†</span><span class="style40">Get <PropertyName> of window <PaletteName></span><span class="style21">¬†¬†(Keep on reading to learn about the names of the properties of the palette)¬†¬†- send a message to the palette :¬†¬†</span><span class="style40">Send <MessageName> to window <PaletteName></span><span class="style21">¬†¬†</span><span class="style40">Palette definition</span><span class="style21">¬†:¬†¬†The first line of the definition contains the definition of the window itself, the next lines contains the definition of the objects of the palette.¬†¬†¬†¬†</span><span class="style56">First line of the definition : window definition</span><span class="style21">¬†¬†¬†This first line is a list of elements which have this form : PropertyName:PropertyValue. The separator character is "‚Ä¢" (decimal code : 165).¬†¬†Here is the list of all properties that can appear in this first line of definition, and, between brackets, the default value  :¬†¬†</span><span class="style40">WIND</span><span class="style21"> : [0] Id of a WIND resource containing the definition of the window. If this property is used in the definition of the window, the use of the Name, Rect, ProcId and CloseBox are forbidden.¬†¬†</span><span class="style40">Name</span><span class="style21"> : [New window] Name of window¬†¬†</span><span class="style40">ProcId</span><span class="style21"> : [2054] ProcId of the window, that means its look. The list of ProcIds can be found in Inside Macintosh Vol I page 303. You can also use the one defined in page 17 of HC 2.0 XCMD Interface. You'll generally use 2054 (titled windoid) or 2052 (untitled windoid)¬†¬†</span><span class="style40">Rect</span><span class="style21"> or </span><span class="style40">Rectangle</span><span class="style21"> : the origin is the upper left corner of the card window.¬†¬†CloseBox :  [true] if this boolean is false, the window has no close box.¬†¬†</span><span class="style40">PICT</span><span class="style21"> : [0] Id of a PICT resource to be used as artwork inside the palette. If value is 0, the palette has a blank background.¬†¬†</span><span class="style40">Cursor</span><span class="style21"> : [0] Id of the cursor to be used when the mouse pointer is inside the palette. If value is 0, the standard arrow is used.¬†¬†</span><span class="style40">Visible</span><span class="style21"> : [true] false if you want the palette to be invisible on opening.¬†¬†</span><span class="style40">AlwaysBehind</span><span class="style21"> : [false] If this boolean is false, the palette doesn't become the uppermost when you click in it.  Note that you won't be able in this case to move the palette by dragging its bar (but you will be able to do this by script : set loc of ‚Ķ).¬†¬†¬†¬†</span><span class="style56">The next lines contain the definitions of the objects of the palette</span><span class="style21">¬†¬†Each line contain the definition of one object of the palette, unless it begins with the character "-". In this case, it is a line of comments.¬†¬†Non comment lines are lists of elements which have this form : PropertyName:PropertyValue. The separator is "‚Ä¢". If a properties doesn't is in the line, default value is used. The loc property cannot be used here. The number of order of the definition line of an object is the number of the object.¬†¬†¬†¬†Here is the list of all properties of a button, and, between brackets, the default value  :¬†¬†¬†¬†</span><span class="style40">Name</span><span class="style21"> [New Button]: (as in HyperCard)¬†¬†</span><span class="style40">Rect or Rectangle</span><span class="style21"> [0,0,100,22] : The origin is the upper left corner of the object. ¬†¬†</span><span class="style40">Loc or Location</span><span class="style21"> [50,11]: (as in HyperCard)¬†¬†</span><span class="style40">Icon</span><span class="style21"> [0]: (as in HyperCard) id of an icon resource¬†¬†</span><span class="style40">ShowName</span><span class="style21"> [true]: (as in HyperCard)¬†¬†</span><span class="style40">AutoHilite</span><span class="style21"> [false]: (as in HyperCard)¬†¬†</span><span class="style40">Hilite</span><span class="style21"> [false]: (as in HyperCard)¬†¬†</span><span class="style40">GrayedOut</span><span class="style21"> [false]: if true, the object is grayed.¬†¬†</span><span class="style40">Disable</span><span class="style21"> [false]: if this boolean is true, the object doesn't send any message, the AutoHilite is not active, the object seems to be nothing more than painting.¬†¬†</span><span class="style40">Visible</span><span class="style21"> [true]: (as in HyperCard)¬†¬†</span><span class="style40">Style</span><span class="style21"> [Rectangle]: (as in HyperCard)¬†¬†</span><span class="style40">TextFont</span><span class="style21"> [0]: (as in HyperCard)¬†¬†</span><span class="style40">TextSize</span><span class="style21"> [12]: (as in HyperCard)¬†¬†</span><span class="style40">TextStyle</span><span class="style21"> [0]: (as in HyperCard)¬†¬†</span><span class="style40">MDMess</span><span class="style21"> [] : message sent on MouseDown. If this property is not declared, the message "MD windName, buttonName, buttonNumber" is sent.¬†¬†</span><span class="style40">MSDMess</span><span class="style21"> [] : message sent on MouseStillDown. If this property is not declared, the message "MSD windName, buttonName, buttonNumber" is sent.¬†¬†</span><span class="style40">MUMess</span><span class="style21"> [] : message sent on MouseDown. If this property is not declared, the message "MU windName, buttonName, buttonNumber" is sent.¬†¬†¬†¬†</span><span class="style56">Getting and setting properties, name of the properties :</span><span class="style21">¬†¬†The standard External Window Interface allows to :¬†¬†Set <PropertyName> of window <PaletteName> to <value>¬†¬†Get <PropertyName> of window <PaletteName>¬†¬†¬†¬†The name of the property concerning a button is the concatenation of "Btn" or "Button", the number of the button and the usual name of the property :¬†¬†for instance, to set the style of the button number 2 of the palette <windowName> to radiobutton, you'll type :¬†¬†set Btn2Style of window <windowName> to radiobutton¬†¬†¬†¬†See "</span><span class="style66"><a href="#" class="group">Window Definition</a></span><span class="style21">" to get the list of properties of a chic palette.¬†¬†</span><span class="style70">NOTE</span><span class="style21"> : the procId of a palette cannot be set.¬†¬†¬†¬†</span><span class="style70">OTHERS PROPERTIES OF A CHIC PALETTE</span><span class="style21"> : (these properties cannot de set)¬†:     </span><span class="style40">definition</span><span class="style21"> : the definition of the palette (it is the parameter that has to be passed to "Chiclette" to open such a palette)¬†¬†</span><span class="style40">numberOfBtns</span><span class="style21"> : number of btns of the palette¬†¬†</span><span class="style40">properties</span><span class="style21">     </span><span class="style40">messages</span><span class="style21">¬†¬†</span><span class="style56">Messages</span><span class="style21"> :¬†¬†LockScreen (allows to prevent refreshing of a palette while setting its properties, until the first idle or an unlockscreen be sent.¬†¬†UnLockScreen¬†¬†(As in HyperCard, you need to send unLockScreen twice to the palette if you sent lockscreen twice.)¬†¬†¬†¬†</span><span class="style56">The result</span><span class="style21"> :¬†¬†After calling Chiclette, the result is "", unless an error occurred.¬†¬†¬†¬†</span><span class="style56">Limitations</span><span class="style21"> :¬†¬†-¬†No more than 256 objects in the palette.¬†¬†-¬†Only buttons (no fields)¬†¬†-¬†If the AlwaysBehind is true is is impossible to drag the window¬†¬†-¬†No colour¬†¬†-¬†The procId of a window cannot be set</span><span class="style67">Tips</span><span class="style72">¬†</span><span class="style21">¬†¬†- A difficulty when writing scripts associated with a palette (or any script called by an eXternal) is that we do not get the errors messages HyperCard answers when an error occurrs. The script just aborts. You can get confused, because it seems that nothing happens. If you suspect there is something wrong in a script called by an eXternal, just call the suspected script from the message box.-- additional notes added by George Bray (geo@syd.dit.csiro.au) May 1992.Chiclette 1.03 release notes--1)With earlier versions, when you do the following actions, the visible of the palette becomes false :- open a chiclette whose alwaysbehind property is false (default value)- edit an HyperCard script. The palette becomes unvisible (that's correct)- choose another application. - switch back to hypercard. The palette remains unvisible (that's very bad)The new behavior (1.03) is :when you switch back to hypercard, the palette becomes visible again. Good ! The bad point is that it becomes visible, even if you clicked in the script window. It should not, but between two bads things, you have to choose the less bad one.2)With earlier versions, when you clicked quickly with the command key down, the palette beacme the uppermost window. This bug has been fixed.3)If you changed the name of a button during a MD or a MSD, the button name parameter of the following MU message was still the old name. This bug has been fixed in 1.03.4)A forth parameter has been added to the MD, MSD and MU messages. It is the id of the window (relevent for HyperCard 2.1 only). The messages sent to the current card are now :        MD WindowName,BtnName,BtnNumber,WindowId  (on buttons)        MD WindowName,"","",WindowId (click outside the buttons)(same thing with MSD and MU messages)This is compatible with older versions : you don't need to change any of your scripts. But it is now easy to manage several chiclettes with the same name opened at the same time.Item    0290983                         4-Dec-91        03:55PST From:   HYPERSOL¬†                       France - Hypersolutions,Belleme,IDV To:     AUST0502¬†                       AUDev-CSIRO,Div of Inform Tech,IDV ------------------------------------------------------------------------------Sub:    ME,MW,ML for Chiclette         Enclosure: ChicRes104.PKG dear Sir Bray, here is a version of Chiclette where ME,MW and ML messages are sent to thecurrent card when the cursor enters, is within or leaves a button of thepalette. As you are the only one who asked for that feature, consider yourself asbeta-tester for it. We know of one "bug" : you should not use the debugger (breakpoints) while MWmessages are sent (that means when the cursor is above a button of achiclette), or you'll get a bomb (yes !). It is not really our fault, it iseasy to undestand, and it should not be a problem in normal use : when the debugger is used, HC continues to send messages to the XWindows.Imagine that the execution of a script is suspended at a breakpoint and that atthe same time the cursor is above a button of the chiclette. HC sendsmousewithin messages to the XWindow. The XWindow sends MW to the current card.Theses messages are not handled, as the execution of the script is stopped :you'll get very quickly a big problem.  Fran√ßois-Paul Servant</span></text>
  745.     </content>
  746.     <name>The chic palettes</name>
  747.     <script>--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî-- MESSAGES SENT BY CHICLETTE-- Note : All these messages are handled also in the stack script.-- see the stack script to get information about the parameters.--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî-- This script shows how to intercept the standard-- MD, MSD and MU messages sent on mouseDown, mouseStillDown and mouseUp-- within the palette, in order to have it doing something.-- If the "self editing" mode is selected, we intercept here MD, MSD-- and MU. The popup menu to set the properties is called on MD.on MD windName,BtnName,BtnNumber,windIdif SelfEditing(windName) thenput rect of window windName into rput the mouseLoc into mput item 3 of r - item 1 of m into xput item 4 of r - item 2 of m into yif (x<5) and (y<5) then-- change rect of paletteset cursor to arrowrepeat while the mouse is downput the mouseLoc into mput item 1 of m + x into item 3 of rput item 2 of m + x into item 4 of rset rect of window windName to rif putmessages() then ¬¨put "-- set rect of window"&&Q(windName)&&"to"&&Q(r)end repeatelseif BtnNumber ‚↠"" thenBtnEditMenu windName,BtnNumberelse -- mousedown in the palette, outside the buttonsWinEditMenu windNameend ifend ifelsepass MDend ifend MDon MSD windName,BtnName,BtnNumber,windIdif SelfEditing(windName) then-- nada !elsepass MSDend ifend MSDon MU windName,BtnName,BtnNumber,windIdif SelfEditing(windName) then-- nada !elseif windName = "ChicBrowser" thenif BtnName ‚↠"" thendo BtnNameelse -- click in the palette, outside the buttonsGadoend ifelsepass MUend ifend ifend MUon ME windName,BtnName,BtnNumber,windIdif SelfEditing(windName) then-- nada !elsepass MEend ifend MEon MW windName,BtnName,BtnNumber,windIdif SelfEditing(windName) then-- nada !elsepass MWend ifend MWon ML windName,BtnName,BtnNumber,windIdif SelfEditing(windName) then-- nada !elsepass MLend ifend ML--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äîon openChiclette windName,windId-- eventually set the look of the chiclette editorif windName = line 1 of fld "palette name" and ¬¨there is a window "Chiclette Editor" and windName ‚↠"Chiclette Editor" thenif Btn3Disable of window "Chiclette Editor" then InitEditor windNameend ifpass openChicletteend openChicletteon closeChiclette windName,windIdglobal NoSaveif windName = line 1 of fld "palette name" then-- closing the edited palette :-- propose to save changes, if any.-- Except when your servant doesn't want it :-- (see handler "SetWinPpt" in stack script)if NoSave is not true thensaveService windNameend ifend ifput "" into NoSavepass closechicletteend closeChiclette--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî-- we intercept chiclette here for eventual warning :-- "don't open 2 palettes with same name"on chiclette windefput line 1 of windef into xget offset("Name:",x)if it = 0 thenput "New Window" into xelsedelete char 1 to it+4 of xget offset("‚Ä¢",x)if it ‚↠0 then put char 1 to it-1 of x into xend ifput x into windNameif there is a window windName thenbeepanswer "There is already a window called"&return¬¨&Q(windName)&"."&return¬¨&"Though Chiclette can open several palettes with the same name, "¬¨&"it can be a little bit confusing while editing."&return ¬¨&"Do you really want to create such another window ?"¬¨with "More info‚Ķ" or "Yes" or "No"if it = "More info‚Ķ" thenput ", window"&&Q("x")&&"refers to " into xput the version into vif v ‚â• 2.1 thenput "(and greater ?)" into x1put "upermost" into x2put "" into x3else -- 2.0put "" into x1put "first created" into x2put return&"Therefore the first created is the only one whose" ¬¨&&"properties you will be able to set."&return ¬¨&"(It's different with HC 2.1)" into x3end ifget "In HyperCard"&&v&&x1&", window"&&Q("x")&&"refers to the"¬¨&&x2&&"of the windows"&&Q("x")&"."&x3&return&return ¬¨&"Do you want to show another window called"¬¨&return&Q(windName)&&"?"answer it with "Yes" or "No"end ifif it = "No" thenexit chicletteelsepass chicletteend ifend ifpass chicletteend chiclette--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äîon saveService windName-- compare saved def and current def of windName.-- we are on the card windName, and the window is opened.-- doesn't care about change in locput def of window windName into newDefput fld "Definition" into oldDefif oldDef = "" thenput true into changeselseput line 1 of newDef into xget offset("‚Ä¢RECT",x)put char 1 to it-1 of x into x1delete char 1 to it of xget offset("‚Ä¢",x)if it ‚↠0 then put char it to number of chars of x of x after x1put line 1 of oldDef into xget offset("‚Ä¢RECT",x)put char 1 to it-1 of x into x2delete char 1 to it of xdelete char 1 to offset(":",x) of xget offset("‚Ä¢",x)if it ‚↠0 thenput char it to number of chars of x of x after x2put char 1 to it-1 of x into oldRectelseput char 1 to number of chars of x of x into oldRectend ifput newDef into y1delete line 1 of y1put oldDef into y2delete line 1 of y2put rect of window windName into newRectput item 3 of oldRect - item 1 of oldRect into oldDeltaXput item 4 of oldRect - item 2 of oldRect into oldDeltaYput item 3 of newRect - item 1 of newRect into newDeltaXput item 4 of newRect - item 2 of newRect into newDeltaYput x1 ‚↠x2 or y1 ‚↠y2 ¬¨or oldDeltaX ‚↠newDeltaX or oldDeltaY ‚↠newDeltaY into changesend ifif changes thenrepeatanswer "Do you want to save"&&Q(windName)&&"before closing ?"¬¨with "Don't Save" or "Save as‚Ķ" or "Save"if it = "Don't Save" thenexit saveServiceelse if it = "Save" thenput newDef into fld "Definition"exit saveServiceelse if it = "Save as‚Ķ" thenanswer "Save in a new Palette Card or as script in a button ?" with "Cancel" or "New Card" or "Button"if it = "Cancel" thennext repeatelse if it = "New Card" thenset lockmessages to trueset cursor to watchdomenu "copy card"domenu "paste card"put newDef into fld "definition"exit saveServiceelse -- buttonsaveInBtn windName,newDefexit saveServiceend ifend ifend repeatend ifend saveServiceon saveInBtn windName,WinDef-- creates a btn that open the palette defined by windefask "What would you like to call this button¬†?" with windNameif the result = "Cancel" then exit saveInBtnput it into btnNameput "on mouseUp" & return & "set cursor to watch" & return ¬¨& "Chiclette" into btnScriptrepeat with i = 1 to number of lines of WinDefput "¬¨" & return after btnScriptset cursor to busyput line i of WinDef into xrepeatget offset(quote,x)if it = 0 thenput quote & x & quote after btnScriptexit repeatelseput quote & char 1 to it-1 of x & quote after btnScriptdelete char 1 to it of xif x ‚↠"" thenput "&quote&" after btnScriptelseput "&quote"  after btnScriptexit repeatend ifend ifend repeatput "&return&" after btnScriptend repeatdelete last char of btnScript -- &put return & "get the result" after btnScriptput return & "if it ‚↠empty then answer it" after btnScriptput return & "end mouseUp" after btnScriptdomenu "New Button"set name of last cd btn to btnNameset script of last cd btn to btnScriptchoose browse toolend saveInBtnfunction SelfEditing windName-- returns true if "self editing" is selectedreturn windName = line 1 of fld "Palette Name" ¬¨and hilite of bg btn "Self Editing"end SelfEditing--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî-- manage palette "ChicBrowser"on setChicBrowser whatput "ChicBrowser" into csend "lockscreen" to window cif what = "" then-- enable help and aboutset Btn2Disable of window c to falseset Btn2GrayedOut of window c to falseset Btn3Disable of window c to falseset Btn3GrayedOut of window c to false--set Btn4Name of window c to "Chiclette" && number of this cd && "/" && number of cards of this bgget number of this cd = 1set Btn5Disable of window c to itset Btn5GrayedOut of window c to itset Btn6Disable of window c to itset Btn6GrayedOut of window c to itget number of this cd = number of cards of this bgset Btn7Disable of window c to itset Btn7GrayedOut of window c to itset Btn8Disable of window c to itset Btn8GrayedOut of window c to itelseget (what = "Help")set Btn2Disable of window c to itset Btn2GrayedOut of window c to itset Btn3Disable of window c to not itset Btn3GrayedOut of window c to not it-- disable arrowsset Btn4Name of window c to whatset Btn5Disable of window c to trueset Btn5GrayedOut of window c to trueset Btn6Disable of window c to trueset Btn6GrayedOut of window c to trueset Btn7Disable of window c to trueset Btn7GrayedOut of window c to trueset Btn8Disable of window c to trueset Btn8GrayedOut of window c to trueend ifend setChicBrowseron aboutChiclette "!"answer the result with "Cancel" or "More info‚Ķ"if it = "More info‚Ķ" thenshowbgfld "About"if there is a window "ChicBrowser" then setChicBrowser "about"end ifend abouton helpset scroll of fld "Help" to 0showbgfld "Help"if there is a window "ChicBrowser" then setChicBrowser "Help"end helpon gofirstgo cd 1 of this bgend gofirston goprevvisual effect wipe rightgo prevend goprevon gonextvisual effect wipe leftgo nextend gonexton golastgo last cd of this bgend golaston gobackif visible of bg btn "hide fld" thensend "mouseup" to bg btn "hide fld"elsego backend ifend gobackon Gadoset Btn1GrayedOut of window "ChicBrowser" to trueanswer Q("Chiclette, the chic palettes !")set Btn1GrayedOut of window "ChicBrowser" to falseend Gadoon ChicBrowserset cursor to watchput (number of this cd = 1) into prevBoolput (number of cds of this bg = 1) into nextBoolChiclette¬¨"Name:ChicBrowser‚Ä¢ProcId:2052‚Ä¢Rect:284,137,402,250‚Ä¢PICT:1992‚Ä¢cursor:128"&return&¬¨"-- button 1"&return&¬¨"Btn‚Ä¢Rect:5,5,69,55‚Ä¢Name:Gado‚Ä¢Style:Shadow‚Ä¢icon:4479‚Ä¢ShowName:false‚Ä¢AutoHilite:true"&return&¬¨"-- button 2"&return&¬¨"Btn‚Ä¢Rect:71,5,97,30‚Ä¢Name:help‚Ä¢Style:Rectangle‚Ä¢icon:15841‚Ä¢ShowName:false‚Ä¢AutoHilite:true‚Ä¢TextFont:Geneva"&return&¬¨"-- button 3"&return&¬¨"Btn‚Ä¢Rect:71,31,97,55‚Ä¢Name:about‚Ä¢Style:Rectangle‚Ä¢icon:19678‚Ä¢ShowName:false‚Ä¢AutoHilite:true"&return&¬¨"-- button 4"&return&¬¨"Btn‚Ä¢Rect:5,57,97,71‚Ä¢Name:Chiclette"&&number of this cd&&"/"&&number of cards of this bg&"‚Ä¢Style:Rectangle‚Ä¢AutoHilite:true‚Ä¢TextFont:Geneva‚Ä¢TextSize:9‚Ä¢Disable:true"&return&¬¨"-- button 5"&return&¬¨"Btn‚Ä¢Rect:5,72,29,93‚Ä¢Name:gofirst‚Ä¢Style:Rectangle‚Ä¢icon:24317‚Ä¢ShowName:false‚Ä¢GrayedOut:"&prevBool&"‚Ä¢Disable:"&prevBool&return&¬¨"-- button 6"&return&¬¨"Btn‚Ä¢Rect:31,72,49,93‚Ä¢Name:goprev‚Ä¢Style:Rectangle‚Ä¢icon:15420‚Ä¢ShowName:false‚Ä¢GrayedOut:"&prevBool&"‚Ä¢Disable:"&prevBool&return&¬¨"-- button 7"&return&¬¨"Btn‚Ä¢Rect:51,72,69,93‚Ä¢Name:gonext‚Ä¢Style:Rectangle‚Ä¢icon:16560‚Ä¢ShowName:false‚Ä¢GrayedOut:"&nextBool&"‚Ä¢Disable:"&nextBool&return&¬¨"-- button 8"&return&¬¨"Btn‚Ä¢Rect:71,72,97,93‚Ä¢Name:golast‚Ä¢Style:Rectangle‚Ä¢icon:29903‚Ä¢ShowName:false‚Ä¢GrayedOut:"&nextBool&"‚Ä¢Disable:"&nextBool&return&¬¨"-- button 9"&return&¬¨"Btn‚Ä¢Rect:99,93,116,111‚Ä¢Name:goback‚Ä¢Style:Rectangle‚Ä¢icon:6720‚Ä¢ShowName:false"&returnget the resultif it ‚↠"" then answer itend ChicBrowser--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî-- system messages : management of chiclette editor, ChicBrowser, inits, etc‚Ķon opencardset cursor to watchget fld "area"if it ‚↠"" thenset rect of bg btn "Border Unit" to line 1 of itset rect of bg btn "grow" to line 2 of itend ifif there is a window "ChicBrowser" thensetChicBrowserend ifput line 1 of fld "palette name" into windNameif there is a window "Chiclette Editor" thenif there is a window windName theninitEditor windNameelseinitEditor ""end ifend ifif windName = "" then select before char 1 of fld "palette name"pass opencardend opencardon closeCardglobal NoSaveput line 1 of fld "palette name" into windNameif there is a window windName then-- propose to save changes, if any.-- Except when your servant doesn't want it.-- (closecard "ChicBrowser" and "Chiclette Editor")if NoSave is not true thensaveService windNameend ifend ifput "" into NoSaveif there is a window "ChicBrowser" thenlock screensend lockscreen to window "ChicBrowser"end ifset hilite of bg btn "Self Editing" to falseif the visible of bg btn "hide fld" then send "mouseup" to bg btn "hide fld"pass closeCardend closeCardon openStackset cursor to watchset userlevel to 5show groups-- Creating the pull down menu for the btns editing-- is a little bit time consuming.-- That's why we do some of the job hereloadBtnMenuif "Chiclette Editor" is in the windows then ChicEditLook truepass openStackend openStackon resumestackshow groupsif "Chiclette Editor" is in the windows then ChicEditLook truepass resumestackend resumestackon closestackif there is a window "ChicBrowser" thenclose window "ChicBrowser"end ifhide groupsNeedToCleanUpOrNotpass closestackend closestackon suspendstackif there is a window "ChicBrowser" thenclose window "ChicBrowser"end ifhide groupsNeedToCleanUpOrNotpass suspendstackend suspendstackon NeedToCleanUpOrNotif there is a window "Chiclette Editor" thenif ":"&short name of this stack&return is in the stacksinuse thenChicEditLook falseelseanswer "Chiclette Editor requires that"&&Q("Chiclette")&&"stack be in USE"¬¨with "Close Editor" or "Start Using"if it = "Close Editor" thencleanupelsestart using this stackChicEditLook falseend ifend ifelsecleanupend ifend NeedToCleanUpOrNot--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî-- HANDLERS USED IN STEPS 1 TO 8function CardToDef-- Gets the information included in the card-- and returns a palette definition (default values are used when necessary)set cursor to busyput rect of bg btn "Border Unit" into BorderRectput BorderRect & return & rect of bg btn "grow" into fld "area"checkfornameset cursor to busy-- FIRST LINE OF DEFINITION : WINDOW PROPERTIESput "Name:" & line 1 of fld "Palette name" ¬¨& "‚Ä¢Rect:" & BorderRect into WinDefput pictId() into pictIdif pictId ‚↠0 then put "‚Ä¢PICT:" & pictId after WinDefput 0 into palBtnNbrepeat with i = 1 to number of btnsset cursor to busyif loc of btn i is not within BorderRect then next repeatget rect of btn iput "BTN‚Ä¢Rect:" ¬¨& item 1 of it - item 1 of BorderRect & "," ¬¨& item 2 of it - item 2 of BorderRect & "," ¬¨& item 3 of it - item 1 of BorderRect & "," ¬¨& item 4 of it - item 2 of BorderRect  into rget short name of  btn iif word 1 to 3 of it ‚↠"card button id" thenput "‚Ä¢Name:" & it after relseput "‚Ä¢Name:" after rend ifget style of  btn iif it ‚↠"RoundRect" then put "‚Ä¢Style:" & it after rget icon of btn iif it ‚↠0 then put "‚Ä¢icon:" & it after rif not the showName of btn i then put "‚Ä¢ShowName:false" after rif the AutoHilite of btn i then put "‚Ä¢AutoHilite:true" after rif the Hilite of btn i then put "‚Ä¢Hilite:true" after rif not the visible of btn i then put "‚Ä¢Visible:false" after rget the TextAlign of btn iif it ‚↠"center" then put "‚Ä¢TextAlign:" & it after rget the textFont of  btn iif it ‚↠"Chicago" then put "‚Ä¢TextFont:" & it after rget the textSize of  btn iif it ‚↠"12" then put "‚Ä¢TextSize:" & it after rget the textStyle of btn iIf it ‚↠"Plain" then put "‚Ä¢TextStyle:" & it after rput return & r after WinDefend repeatreturn WinDefend CardToDeffunction pictureExistsput rect of bg btn "Border Unit" into BorderRectput item 1 to 2 of BorderRect into P1put item 3 to 4 of BorderRect into P2lock screenchoose select tooldrag from P1 to P2domenu "select"   -- select the card picture-- then see what tool we end up withif the tool is "lasso tool" thenput "true" into statuselse put "false" into statuschoose browse toolreturn statusend pictureExistsfunction createPict-- creates a Pict ressource with the card picture enclosed in the-- rectangle area, if any-- Returns the id of the Pict ressource, 0 if no picture or pb,-- uses the XFcn ClipToPictput rect of bg btn "Border Unit" into BorderRectput item 1 to 2 of BorderRect into P1put item 3 to 4 of BorderRect into P2lock screenchoose select tooldrag from P1 to P2domenu "select"   -- select the enclosed card picture-- then see what tool we end up withif the tool is "lasso tool" thenchoose select tooldrag from P1 to P2domenu "Copy Picture"put ClipToPict (0) into idif word 1 of id = "Error" thenanswer idput 0 into idend ifelseput 0 into idend ifchoose browse toolreturn idend createPictfunction pictIdput word 1 of fld "PictId" into PictIDif PictID ‚↠"" thenif pictureExists() thenanswer "Which artwork do you want to use ?" ¬¨with "Cancel" or "PICT res" or "Card painting"if it = "Cancel" thenexit to hypercardelse if it contains "PICT" thenreturn PictIDend ifelsereturn PictIDend ifend ifput createPict() into PictIDif PictID = 0 then put "" into fld "PictId"else put PictID into fld "PictId"return PictIDend pictIdon showSavedChiclock screenset cursor to busyput fld "definition" into windefif windef = "" thenanswer "No definition has been saved"exit showSavedChicend ifChiclette WinDefget the resultif it ‚↠"" then answer itend showSavedChicon savedef windNameput PalToDef(windName) into fld "definition"end savedefon showSavedDefif fld "definition" = "" thenanswer "No definition has been saved"exit showSavedDefend ifshowBgFld "definition"end showSavedDefon showBgFld fldNameset cursor to watchlock screenhide fld "Help"hide fld "about"hide fld "definition"show fld fldNameshow fld "WhatInfo"show bg btn "hide fld"if fldName = "definition" thenput "Definition of chic palette :"&&line 1 of fld "palette name"¬¨&return&"(the command : chiclette field"&&Q("definition")¬¨&&"opens the palette)" into fld "WhatInfo"set textsize of fld "WhatInfo" to 12elseput fldName into fld "WhatInfo"set textsize of fld "WhatInfo" to 24end ifrepeat with i = 1 to number of cd btnshide cd btn iend repeathide cd pictureend showBgFld--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî-- CONTROLSon checkForNameif line 1 of fld "Palette name" is "" thenask "What would you like to call this palette¬†?"if the result is "Cancel" then exit to HyperCardif it = "" thenunlock screengo this cdwput 0 into theNbpush cdrepeat with i = 1 to number of cardsgo cd iget fld "Palette name"if word 1 of it ‚↠"Untitled" then next repeatget word 2 of itif it is not a number then next repeatput max(theNb,it ) into theNbend repeatadd 1 to theNbpop cdget "Untitled"&&theNbend ifput it into fld "Palette name"end ifend checkForName--‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî‚Äî-- to go to a help topicon hypertextselect ""if the textstyle of the clickchunk contains "group" thenset cursor to watchput the clicktext into delse-- put "-- no related information"exit hypertextend ifget offset(d & "¬†",fld "help") -- "¬†": option-spaceif y = 0 thenput "-- Can't find related information. Sorry."exit hypertextend ifif not visible of fld "help" thenshowbgfld "Help"if there is a window "ChicBrowser" then setChicBrowser "help"end ifput number of lines of char 1 to it of fld "help" into nput number of chars of line 1 to n of fld "help" into yget number of chars of line n of fld "help"repeat while the lockscreenunlock screenend repeatselect char y-it+1 to y+1 of fld "help"end hypertext</script>
  748. </background>
  749.